﻿#region Copyright Information
// // ****************************************************************
// // Feel free to extend or modify the code of the application to your needs. 
// // But remember do it for the Glory of our Lord Jesus Christ
// // ****************************************************************
#endregion
#region Usings

using System;
using System.Collections.Generic;

#endregion

namespace Data
{
    /// <summary>
    /// Holds information about a song.
    /// Contains :
    /// <ul>
    /// 	<li>Unique id.</li>
    ///     <li>Song name.</li>
    ///     <li>List of verses.</li>
    /// </ul>
    /// </summary>
    public class SongInfo
    {
        /// <summary>
        /// The constructor of <see cref="SongInfo"/>.
        /// </summary>
        /// <param name="name"><see cref="Name"/></param>
        /// <param name="verses"><see cref="Lyrics"/></param>
        /// <param name="id"><see cref="Id"/></param>
        public SongInfo(Guid id, string name, IEnumerable<LyricInfo> verses)
        {
            Id = id;
            Name = name;
            Lyrics = verses;
        }

        /// <summary>
        /// The id of the song.
        /// </summary>
        /// <remarks>
        /// Field used for CRUD operations.
        /// </remarks>
        public Guid Id { get; set; }

        /// <summary>
        /// The name of the song.
        /// </summary>
        public string Name { get; private set; }

        /// <summary>
        /// The verses of the song.
        /// </summary>
        public IEnumerable<LyricInfo> Lyrics { get; private set; }
    }
}